Introdução à Ciência dos Dados - Aula 3

Mestrado Profissional em Administração

Prof. Washington Santos da Silva

10/04/2023

Objetivos

Referência

Brooks (2019): Chapter 2 - Statistical Foundations and Dealing with Data

Por que a Teoria da Probabilidade é importante em Finanças?

Por que a Teoria da Probabilidade é importante em Finanças?

Comitê de Supervisão Bancária da Basiléia

Aplicações: Teoria da Probabilidade

Parametric Methods for Estimating the Level of Risk in Finance

Aplicações: Teoria da Probabilidade

Estimação da probabilidade de negociação privilegiada por meio de inferência bayesiana

Breve digressão sobre Teoria da Probabilidade

Conceito de Probabilidade

Se \(N\) é o número total de casos do espaço amostral de uma variável aleatória e \(n_A\) é o número de casos com resultado \(A\), a probabilidade clássica ou a priori de A é dada por:

\[ P(A) = \frac{n_A}{N} \]

Se \(m\) é o número de ocorrências do evento \(A\) em um total de \(M\) tentativas, a probabilidade de \(A\) é dada por:

\[ P(A) = \lim_{M \rightarrow \infty} \frac{m}{M} \] O limite que aparece nesta definição tem um significado experimental e não matemático, porque a verdadeira probabilidade deve ser encontrada apenas pela realização de um número infinito de tentativas.

A probabilidade é o grau subjetivo de crença sobre a ocorrência de um evento.

A probabilidade subjetiva é relativamente livre, mas assume-se que deve ser consistente, ou seja, deve ser expressa como um número real \(0 \leq p \leq 1\).

Definição: Para quaisquer dois eventos \(A\) e \(B\), com \(P(B>0)\):

\(P(A|B) = \frac{P(A \cap B)}{P(B)}\)

\(P(A \cap B) = P(A|B) P(B)\)

\(A\) e \(B\) são independentes se, e somente se:

\[ P(A \cap B) = P(A)P(B) \]

Seja \(S\) o espaço amostral de um processo aleatório, variável aleatária é qualquer função que associa um número a um resultado em \(S\), cujo domínio é o espaço amostral e a imagem são números.

A funçao de probabilidade de uma VA discreta X é a função \(f: \mathbb{R} \rightarrow [0,1]\) definda por:

\[ p(X = x) = p(x) \]

Condições:

\[ \begin{align*} p(x) &\geq 0, \\ \sum p(x) &= 1 \end{align*} \]

estas condições implicam que \(0 \leq p(x) \leq 1\)

A função densidade de probabilidade de uma VA contínua X é a função \(f: \mathbb{R} \rightarrow \mathbb{R}\) definda por: \[ \begin{equation*} p(a \leq X \leq b) = \int_{a}^{b} f(x)dx \end{equation*} \]

Condições:

\[ \begin{align*} f(x) &\geq 0, \\ \int_{-\infty}^{+\infty} f(x) &= 1 \end{align*} \]

A função de distribuição acumulada \(F(\cdot)\) de uma VA \(X\) é a função \(F:\mathbb{R} \rightarrow [0,1]\) definida por:

\[ F(a) = P(X \leq a)\,\,\, \text{para} \,\, -\infty \leq a \leq \infty \]

Características de Variáveis Aleatórias

Valor Esperado de uma VA Discreta:

\[ E(Y) = \sum_{y \in \mathbb{D}} y P(Y = y) \]

Exemplo:

valor_rifa <- 10
premio <- 10000
bilhetes <- 25000
prpb_ganhar <- 1/bilhetes

valor_esperado_rifa <- function(premio, bilhetes) {
    prob_ganhar <- 1/bilhetes
    ve <- cumprod(premio*prob_ganhar)
    ve
}

# bilhetes = 2500 bilhetes vendidos
valor_esperado_rifa(10000, 2500)

# bilhetes = 1000
valor_esperado_rifa(10000, 1000)

Valor Esperado de uma VA Contínua:

\[ E(Y) = \mu = \int_{-\infty}^{+\infty} yf(y)dy \]

Valor Esperado Condicional de uma VA Discreta:

\[ E(Y|X = x) = \sum_{y \in \mathbb{D}} y P(Y = y|X = x) \]

Varância de uma VA

\[ \begin{align*} V(Y) &= \sigma^2 = E[(Y - E(Y))^2] \end{align*} \]

O Desvio-Padrão é: \(\sigma = \sqrt{V(Y)}\)

Quantis

Seja \(Y\) uma VA e \(p\) um número entre \([0,1]\). O \(p-\)ésimo quantil (ou 100-ésimo percentil) da distribuição de \(X\), é o menor número \(q_p\) tal que:

\[ F(q_p) = P(Y \leq q_p) = p \]

A mediana de uma distribuição, equivale ao 50-ésimo percentil e ao segundo quartil.

Coeficientes de Assimetrria Assimetria e Curtose

Assimetria e Curtose

\[ Assi(X) = E\left[\left(\frac{X - \mu}{\sigma}\right)^3\right] \]

\[ Cur(X) = E\left[\left(\frac{X - \mu}{\sigma}\right)^4\right] \]

Visualização

Covariância e Correlação

\[ \begin{align*} Cov(X,Y) = \sigma_{XY} &= E[(X - \mu_X)(Y - \mu_Y)], \\ &= E[XY] - \mu_X \mu_Y \end{align*} \]

\[ \begin{equation*} Cor(X,Y) = \rho_{xy} = \frac{Cov(X,Y)}{\sigma_X \sigma_Y} \,\, (-1 \leq \rho_{xy} \leq +1) \end{equation*} \]

\[ {\displaystyle r_{xy} = {\frac {\sum _{i=1}^{n}(x_{i}-{\bar {x}})(y_{i}-{\bar {y}})}{{\sqrt {\sum _{i=1}^{n}(x_{i}-{\bar {x}})^{2}}}{\sqrt {\sum _{i=1}^{n}(y_{i}-{\bar {y}})^{2}}}}}} \]

Características de Variáveis Aleatórias Multidimensionais

No caso de uma VA multidimensional \(X\) representado por um vetor aleatório \(\mathbf{X}\),

\[ \begin{equation} \mathbf{X} = \begin{pmatrix} X_1 \\ X_2 \\ \vdots \\ X_n \end{pmatrix} \end{equation} \]

Os dois principais parâmetros que caracterizam a distribuição são o vetor de valores esperados:

\[ \begin{equation} E[\mathbf{X}] = \begin{pmatrix} E(X_1) \\ E(X_2) \\ \vdots \\ E(X_n) \end{pmatrix} \end{equation} \]

E a Matriz de Covariâncias:

\[ \begin{equation} Cov(\mathbf{X}) = \begin{pmatrix} \sigma_{11} & \sigma_{12} & \ldots & \sigma_{1n} \\ \sigma_{21} & \sigma_{22} & \ldots & \sigma_{2n} \\ \vdots & \vdots & \vdots & \vdots \\ \sigma_{n1} & \sigma_{n2} & \ldots & \sigma_{nn} \end{pmatrix} \end{equation} \]

\[ Cov(\mathbf{X}) = E[(\mathbf{X} - E(\mathbf{X})) (\mathbf{X} - E(\mathbf{X}))^T] \]

Sendo \(\sigma_{j}^2 = V(\mathbf{X}_{j})\) e \(\sigma_{jk} = Cov(\mathbf{X}_{j}, \mathbf{X}_{k})\) para \(j, k = 1, 2, \ldots, n\).

Distribuição de Probabilidades de Variáveis Aleatórias

Por que conhecer Distribuições de Probabilidade?

O que temos de saber sobre distribuições de probabilidade para aplicá-las em um problema particular?

Distribuição Normal: Visão Geral

Aplicação: Qualquer fenômeno que tenha como resultado um número real. Modela dados que aglomeram-se em uma curva em forma de sino em torno da média. O Teorema Central do Limite é uma forte justificativa para sua popularidade. Ex: Modelagem da Duração da Chuva.

Seja \(X_1,\ldots,X_n\) uma sequência de variáveis aleatórias independentes com distribuição de probabilidade arbitrária com média \(\mu_i\) e variância finita \(\sigma_{i}^2\). Então:

\[ \frac{\bar{X} - \mu}{\sigma/\sqrt{n}} \overset{d}{\to} N(0,1) \,\,(n \rightarrow \infty) \]

Vamos simular um experimento 2.000 vezes, extraindo amostras (pseudo-)aleatórias de uma distribuição Binomial com probabilidade de sucesso igual 0.05 e quatro tamanhos de amostras: 20, 100, 500 e 1.000. Para cada tamanho de amotra, estimamos a média e o score \(Z\)

Definição: Uma VA contínua \(X\) tem distribuição normal (\(X \sim N(\mu, \sigma^2)\)) se:

\[ f(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{1}{2}\Bigl(\frac{x-\mu}{\sigma}\Bigr)^2} \,\, (-\infty < x < \infty) \]

Distribuição normal padronizada:

\(Z = \frac{x - \mu}{\sigma} \sim N(\mu = 0, \sigma = 1)\)

\[ \phi(z) = \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{1}{2}z^2} \]

\[ E(X) = \mu \,\,\,\, V(X) = \sigma^2 \,\,\,\, \sigma = \sqrt{\sigma^2} \]

Como simular no R? rnorm(1000)

\(f_{\mu, \sigma}(x) = \phi_{\mu, \sigma}(x)\) = Função Densidade de Probabilidade

\(F_{\mu, \sigma}(X) = \Phi_{\mu, \sigma}(x)= P(X \leq x)\) = Função de Distribuição Acumulada

\(Z = \frac{x - \mu}{\sigma} \sim N(\mu = 0, \sigma = 1)\)

Função Resultado,
dnorm(x, mean = 0, sd = 1) \(f(x)= x\) densidade
pnorm(q, mean = 0, sd = 1, lower.tail = TRUE) \(F(a) = P(X \leq a)\)
qnorm(p, mean = 0, sd = 1, lower.tail = TRUE) quantil = \(\Phi^{-1}(p)\)
rnorm(n, m=0, sd=1) sgerador de números aleatórios

Distribuições de Probabilidade no R

pnorm(0) = \(F(0) = P(Z \leq 0)\)

pnorm(0, lower.tail = FALSE) = 1 - pnorm(0) = \(P(Z > 0)\)

pnorm(1) = \(F(0) = P(Z \leq 1)\)

Caso comum

\(P(a \leq Z \leq b) = P(Z \leq b) - P(Z \leq a) = F(b) - F(a)\)

dnorm(0) = \(f(0)= 0.4\)

qnorm(0.5) = \(\Phi^{-1}(0.5) = Z = 0\)

qnorm(0.9) = \(\Phi^{-1}(0.9) = Z = 1.28\)

Distribuição Normal: Exercícios 1

Quais características uma distribuição de probabilidade normal deve possuir para ser uma distribuição normal padrão?

Sendo \(Z = \frac{X - \mu}{\sigma} \sim N(\mu = 0, \sigma = 1)\) Determine as seguintes probabilidades normais padrão:

\(P(Z \leq 1.25)\)

\(P(Z > 1.25)\)

\(P(Z \leq -1.25)\)

\(P(-0.38 \leq Z \leq 1.25)\)

Distribuição Normal: Exercícios 2

Encontre o z-score correspondente à probabilidade (área) sob cada curva normal padrão:

Aplicações: Métodos de Monte Carlo

Em termos bastante gerais, seria aualquer método que resolve um problema através da geração de números (pseudo)aleatórios adequados.

Esses métodos são úteis para a obtenção de soluções numéricas para problemas que são muito complexos para serem resolvidos analiticamente. Podemos estar interessados em simular um fenômeno aleatório ou verificar como o comportamento de um fenômeno é alterado quando alteramos determinados parâmetros.

\[ X_k = \begin{cases} 1, & \text{se A ocorre na k-ésima repetição} \\ 0, & \text{se A não ocorre na k-ésima repetição} \end{cases} \] para \(k = 1, 2,\ldots\), então:

\[ \frac{X_1 + X_2 + \ldots + X_n}{n} \] é a proporção de vezes em que \(A\) ocorre em \(n\) repetições. Para n grande, o Monte Carlo método estima \(P(A)\) por:

\[ P(A) \approx \frac{X_1 + X_2 + \ldots + X_n}{n} \]

A implementação de uma simulação de Monte Carlo de P(A) requer três etapas:

  1. Simule uma repetição: modele ou traduza o experimento aleatório usando números aleatórios no computador. Uma iteração do experimento é chamada de “teste”.

  2. Determine o sucesso: Com base no resultado da repetição, determine se o evento \(A\) ocorre ou não. Se sim, chame isso de “sucesso”.

  3. Replicação: Repita as duas etapas mencionadas várias vezes.

Vejamos um exemplo inicial muito simples, até mesmo trivial.

Considere simular a probabilidade de que uma moeda honesta resulte “cara” em \(n\) lançamentos. Pode-se fazer uma simulação física apenas jogando uma moeda várias vezes e tomando a proporção de caras para estimar \(P(Caras)\).

Usando um computador, escolha o número de tentativas n (quanto maior, melhor) e utilize o seguinte comando R:

sample(0:1, n, replace = T)

O comando faz uma amostragem com reposição de \({0, 1}\), \(n\) vezes de forma que os resultados sejam igualmente prováveis.

Considerando que \(0\) representa coroa e 1 representa cara, a saída é uma sequência de \(n\) uns e zeros correspondentes a caras e coroas.

A média da sequência é precisamente a proporção de uns. Para simular \(P(Cara)\) fazemos:

mean(sample(0:1, 10, replace = T))
mean(sample(0:1, 100, replace = T))
mean(sample(0:1, 1000, replace = T))
mean(sample(0:1, 10000, replace = T))
mean(sample(0:1, 100000, replace = T))
mean(sample(0:1, 1000000, replace = T))

No notebook da aula, vejamos como estimar por simulação uma probabilidade familiar: a probabilidade e obter três caras em três lançamentos de uma moeda.

Seja,

\[ \int_{0}^{1} f(x)dx \]

uma função real limitada e seja \(E(f(U))\) uma função de interesse, sendo \(U\) uma VA com distribuição uniforme no intervalo \([0,1]\).

Pela lei dos grandes n?meros, se \((U_i, i\geq 1)\) é uma família de VAs uniformemente distribuídas em \([0,1]\), então:

\[ S_{N} = \frac{1}{N}\sum_{i=1}^{N} f(U_i) \rightarrow \int_{0}^{1} f(x)dx = E(f(U)) \]

Estes fatos sugerem um algoritmo muito simples para aproximar \(E(f(U))\):

  1. Utilize um gerador de números (pseudo)aleatórios para produzir \(N\) valores.

  2. Calcule a média dos resultados.

Suponha que desejamos resolver a seguinte integral:

\[ \int_{0}^{1} \frac{\sin{(x(1-x))}}{(1+x+\sqrt{x}))} \] Vejamos no notebook da aula, como estimar essa integral por simulação de Monte Carlo.

Aplicação: Análise de Insolvência via Simulação de Monte Carlo

O FI – Fator de Insolvência de Kanitz – é obtido por meio da seguinte fórmula:

\[ FI = 0,05A + 1,65B + 3,55C – 1,06D – 0,33E \] sendo:

\(A =\) Rentabilidade do Patrimônio Líquido: lucro líquido/patrimônio líquido;

\(B =\) Liquidez Corrente: ativo circulante (+) realizável a longo prazo/exigível total;

\(C =\) Liquidez Seca: ativo circulante (–) estoques/passivo circulante;

\(D =\) Liquidez Corrente: ativo circulante/passivo circulante;

\(E =\) Grau de Endividamento: passivo total/patrimônio líquido.

Termômetro de Kanitz:

Vejamos como realizar uma análise de insovência usando o FI de Kanitz e a simulação de Monte Carlo no notebook da aula.

Aplicações: Value-at_Risk (VaR)

Definição: o VaR é a perda em uma carteira tal que existe uma probabilidade \(p\) de perdas iguais ou superiores ao VaR em um determinado período de negociação e uma probabilidade \((1-p)\) de perdas serem inferiores ao VaR.

Value-at_Risk (VaR)

Definição: O VaR de h-dias com \(100p\%\) é um número \(VaR_{p,h}\) tal que a probabilidade de perder \(VaR_{p,h}\) ou mais, nos próximos h-dias, é igual \(100p\%\).

Value-at_Risk (VaR): Método Paramétrico (distribuição normal)

Exemplo:

Value-at_Risk (VaR)

\[ Q = \vartheta \Bigl(\frac{P_t - P_{t-1}}{P_{t-1}}\Bigr) \]

\[ P[Q \leq -VaR(p)] = p = \int_{-\infty}^{-VaR(p)} f_q(x)dx \]

Derivando o VaR

\[ \begin{align*} p &= P[Q \leq -VaR(p)], \\ &= P(P_t - P_{t-1} \leq -VaR(p)), \\ &= P(P_{t-1} R_t \leq -VaR(p)), \\ &= (\frac{R_t}{\sigma} \leq - \frac{VaR(p)}{P_{t-1}\sigma}) \end{align*} \]

Se denotamos a distribuição padronizada dos retornos por \(F_R(\cdot)\) e a distribuição inversa por \(F_{R}^{-1}(\cdot)\), então:

\[ \begin{align*} VaR(p) &= -\sigma F_{R}^{-1}(p) P_{t-1}, \\ &= -\sigma F_{R}^{-1}(p) \vartheta \end{align*} \]

Métodos para obtenção de estimativas do VaR

Simulação Histórica

Simulação Histórica: Um ativo

\[ \vartheta_t = \text{número de ações} \times P_t \] - Ou seja, O \(VaR\) com probabilidade \(p\) é simplesmente o negativo do (T \(\times\) p)-ésimo menor retorno do vetor ordenado de retornos, multiplicado pelo valor monetário do ativo (carteira).

Simulação Histórica: Um ativo

Simulação Histórica: Um ativo - Algoritmo

\[ VaR_{t} = - ys_{10}\times (P_{t-1})\times (\text{número de ações}) \]

Simulação Histórica: Um ativo - Algoritmo

\[ y_{carteira} = \mathbf{y}\mathbf{w} \] - Podemos simplesmente tratar a carteira como se fosse um único ativo e aplicar \(HS\).

Simulação Histórica: Um ativo em R

Simulação Histórica: Um ativo em R

## Importando os dados de precos de tres acoes
precos = readr::read_csv('path/stocks.csv')
head(precos)
dplyr::glimpse(precos)

## Calculando os retornos 
retornos = apply(log(precos), 2, diff)
head(retornos)

## Definindo o valor da carteira e a probabilidade p
valor_carteira <- 1000
p <- 0.01

Simulação Histórica: Um ativo em R

## VaR via HS 1 ativo

retA <- retornos[,1]                   # seleciona retornos de A
retAs <- sort(retA)                    # ordena os retornos em ordem crescente
op <- ceiling(length(retA)*p)          # (T * p) =  Min(Z) > length(retA)*p
VaR_A_HS  <-  -retAs[op]*valor_carteira  # Calculo do VaR 
VaR_A_HS

Simulação Histórica: Questões

\[ \frac{3}{p} \]

VaR - retornos normais - 1 ativo

Relembrando de forma resumida:

\[ \begin{align*} p &= P[Q \leq -VaR(p)], \\ p &= \int_{-\infty}^{-VaR(p)} f_q(x)dx, \\ VaR(p) &= -\sigma \Phi_{R}^{-1}(p) P_{t-1}, \\ VaR(p) &= -\sigma \Phi_{R}^{-1}(p) \vartheta \end{align*} \]

VaR - retornos normais - 1 ativo em R

# VaR para a acao A - normal
sigma <- sd(retA) # estimando sigma
VaR_normal  <- -sigma * qnorm(p) * valor_carteira
VaR_normal

VaR - retornos normais - 2 ativos

No caso de dois ativos, seja:

Então a variância (\(\sigma^2\)) da carteira é:

\[ \begin{equation} \sigma_{carteira} = \begin{pmatrix} w_1 & w_2 \end{pmatrix} \cdot \begin{pmatrix} \sigma_{11} & \sigma_{12}\\ \sigma_{21} & \sigma_{22} \end{pmatrix} \end{equation} \cdot \begin{pmatrix} w_1 \\ w_2 \end{pmatrix} \]

\[ \sigma_{carteira} = w_{1}^{2}\sigma_{1}^{2} + w_{2}^{2}\sigma_{2}^{2} + 2 w_1 w_2 \rho \sigma_1 \sigma_2 \]

\[ \sigma_{carteira} = w^{'}\Sigma w \]

Então, como antes:

\[ VaR(p) = -\sigma_{carteira} \Phi_{R}^{-1}(p) \vartheta \]

VaR - retornos normais - 3 ativos em R

# VaR para a acao A - normal
sigma <- sd(retA) # estimando sigma
VaR_normal  <- -sigma * qnorm(p) * valor_carteira
VaR_normal